package threading;

// 标准库中的定时器

import java.util.Timer;
import java.util.TimerTask;

public class Demo3 {
    public static void main(String[] args) {
        Timer timer = new Timer();

        // Timer 中一个重要的方法
        // 在多长时间后执行什么任务！！
        // 注意参数1是new TimerTask！！！
        timer.schedule(new TimerTask() {
            @Override
            public void run() {
                // 执行的任务
                System.out.println("时间到啦，快起床！");
            }
        },3000);

        // 一个定时器安排多个任务：
        timer.schedule(new TimerTask() {
            @Override
            public void run() {
                System.out.println("时间到啦，快洗漱");
            }
        },4000);

        timer.schedule(new TimerTask() {
            @Override
            public void run() {
                System.out.println("时间到啦，快吃饭！");
            }
        },5000);

        System.out.println("开始计时！");

        // 发现，在执行完task任务之后进程并没有退出，理由：
        // Timer内部需要一组线程来执行注册的任务task，而这里的线程是前台线程，会影响进程退出。
    }
}
